[ResourceTiming] Cleanup buffer-full tests Change-Id: Ic5f9968f5c0a1c9b5ad4760f4aa2d8ee85c73c40 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2911104 Commit-Queue: Nicolás Peña Moreno <npm@chromium.org> Reviewed-by: Tom McKee <tommckee@chromium.org> Reviewed-by: Yoav Weiss <yoavweiss@chromium.org> Cr-Commit-Position: refs/heads/master@{#887367} diff --git a/resource-timing/buffer-full-add-entries-during-callback-that-drop.html b/resource-timing/buffer-full-add-entries-during-callback-that-drop.html index d61d2af..b00185c 100644 --- a/resource-timing/buffer-full-add-entries-during-callback-that-drop.html +++ b/resource-timing/buffer-full-add-entries-during-callback-that-drop.html
@@ -3,48 +3,26 @@ <head onload> <meta charset="utf-8" /> <title>This test validates that synchronously adding entries in onresourcetimingbufferfull callback results in these entries being properly handled.</title> -<link rel="help" href="http://www.w3.org/TR/resource-timing/#performanceresourcetiming"/> +<link rel="author" title="Google" href="http://www.google.com/" /> +<link rel="help" href="https://www.w3.org/TR/resource-timing-2/#dom-performance-onresourcetimingbufferfull"/> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> +<script src="resources/resource-loaders.js"></script> <script src="resources/buffer-full-utilities.js"></script> </head> <body> <script> -const resource_timing_buffer_size = 1; - -setup(() => { - // Get the browser into a consistent state. - clearBufferAndSetSize(resource_timing_buffer_size); -}); - -let overflowTheBufferAndWaitForEvent = () => { - return new Promise(resolve => { - var add_entry = () => { - performance.setResourceTimingBufferSize(resource_timing_buffer_size + 1); - // The sync entry is added to the secondary buffer, so will be the last one there and eventually dropped. - xhrScript("resources/empty.js?xhr"); - resolve(); - } - performance.addEventListener('resourcetimingbufferfull', add_entry); - // This resource overflows the entry buffer, and goes into the secondary buffer. - appendScript('resources/empty_script.js'); - }); -}; - -let testThatBufferContainsTheRightResources = () => { - let entries = performance.getEntriesByType('resource'); - assert_equals(entries.length, 2, - 'Both entries should be stored in resource timing buffer since its increases size once it overflows.'); - assert_true(entries[0].name.includes('empty.js'), "empty.js is in the entries buffer"); - assert_true(entries[1].name.includes('empty_script.js'), "empty_script.js is in the entries buffer"); -}; - promise_test(async () => { - await fillUpTheBufferWithSingleResource("resources/empty.js"); - await overflowTheBufferAndWaitForEvent(); - // TODO(yoav): Figure out why this task is needed - await waitForNextTask(); - testThatBufferContainsTheRightResources(); + await fillUpTheBufferWithSingleResource(); + performance.addEventListener('resourcetimingbufferfull', () => { + performance.setResourceTimingBufferSize(2); + // The sync entry is added to the secondary buffer, so will be the last one there and eventually dropped. + load.xhr_sync(scriptResources[2]); + }); + // This resource overflows the entry buffer, and goes into the secondary buffer. + load.script(scriptResources[1]); + await bufferFullFirePromise; + checkEntries(2); }, "Test that entries synchronously added to the buffer during the callback are dropped"); </script> </body>